package base

import (
	"gitee.com/sunny-zhangqiang/zcache/config/domain"
	"gitee.com/sunny-zhangqiang/zcache/xhttp"
)

// Request 保存service Request中的所有数据.
// 它必须位于base包中, 此时其他模块才可安全的访问Request对象.
type Request struct {
	Conf       *domain.PathConfig
	ClientRw   xhttp.ResponseWriter
	ClientReq  *xhttp.Request
	ServerReq  *xhttp.Request
	CacheKey   string
	HeaderSent bool // 表示响应头是否已发送
	KV         map[string]interface{}
	Error      error // 用于标记当前请求遇到什么错误
}

func CopyHeader(dst, src xhttp.Header) {
	for k, v := range src {
		for _, vv := range v {
			dst.Add(k, vv)
		}
	}
}
